import libnum
import gmpy2
#11

n= 17752770005959450783368980030043878547535956414119879741453560550701705489806449145991219400638575053529185909550016280513308215017385040463699931951701894554210916071934994522579016557286121819399693223747296718293086175847432934809917559318694792015696754445449090169911052611759269740275932926797176511376184207265987673583880965946906791696307374144274966668681976499889069666816573873429180101133894777446363037698265266769363040459677305869824632204494462866097824280787902105876680951222107761530644357292819483215790868606552029604879053217989241693291353552725151633669823156879311498404663745671588492388939
e= 65537
c= 17215114973697188228039407246534810856664195594190943813088215060573040302874656982718865711472821797706298792012615413421620367364435910565448695441533985668245204354161963958920998821327722363488545595199128223887604206339608823901845352597801014639506279914508269141350896135320522450208970336079282563152913186458859289060342568562329695673546818588161006052780570480494934554029032268444361720329775028337034266866365591838699506418326634782639236557659691322389324900487855512614150815465076893085020543027358714857336681784520429602229455376426822593566388991433069627228944458733892799679195989110824305261985

p1=libnum.nroot(n,2)
p=gmpy2.next_prime(p1)
q=n//p

assert n == p * q
phi = (p - 1) * (q - 1)
d = gmpy2.invert(e, phi)
m = pow(c, d, n)
print(libnum.n2s(int(m)))
